Digital color picture images acquired with a single sensor camera pass light through a color filter array (CFA) onto charge coupled device (CCD), or other a sensor array. The sensor readings are digitized to form the electronic image. The spectral sensitivity of each pixel in a sensor array is typically adjusted by three sets of filters in a typical CFA. Commonly used filter sets include red R, green G and blue B color channels, or alternatively cyan, magenta and yellow color channels. Each pixel of the acquired picture area has an associated raw digital intensity value for each filter color channel. Similarly, a digital color picture image can be acquired using a multiple-sensor camera that uses three CCD's.
Such digitized images will often be “out of balance” on a color display. One reason this occurs is the images are acquired under lighting conditions that affect the color intensity values recorded. A scene illuminated by tungsten lamps will have a yellow color cast. If the raw pixel values were simply displayed, the reproduced image would have a yellow cast. Human vision is tolerant of considerable variation in lighting color cast and compensates accordingly. Further color imbalance can result when the color channels in the CFA of a display device for displaying the image do not exactly match those initially used when the image was acquired.
Color conversion processing is therefore often required to correct any color imbalance in an acquired image to be displayed. One common color conversion method calculates new pixel values by multiplying a matrix of raw pixel values with a color conversion matrix CNOMINAL. That is, new channel values for each pixel can be calculated:
                              [                                                                      R                  new                                                                                                      G                  new                                                                                                      B                  new                                                              ]                =                              C            NOMINAL                    ⁡                      [                                                                                R                    raw                                                                                                                    G                    raw                                                                                                                    B                    raw                                                                        ]                                              (        1        )            where CNOMINAL can be calculated by a least-square solution to minimize the sum of a squared-difference between a spectral sensitivity function of the color-converted space and the standard color space. A suggested value for CNOMINAL is often provided by sensor manufacturers. The new red channel value Rnew, for example, is therefore a weighted sum of the raw red Rraw, green Graw and blue Braw color channel values.
Each raw channel value includes inherent noise acquired during the image capture process from various noise sources. Possible noise sources include thermally generated readout noise, shot noise and fixed pattern noise. Thermally generated readout noise results from thermal agitation of electrons in the readout circuitry of the sensor. Shot noise results from the collision of photons upon impact with the sensor. Fixed pattern noise results from the inherent non-uniform characteristics of the sensor which are related to imperfections in the sensor manufacturing process. But multiplying the raw values by a color conversion matrix CNOMINAL effectively amplifies any inherent noise present, and often causes undesirable visual effects when the image is displayed after color conversion.
There is a need for an alternative method of color converting a color picture image which simultaneously minimizes both the color error and amplified noise.
Another color conversion application is in image/video compression. Since the RGB space is not an efficient space from compression viewpoint, R,G and B values are converted to YUV or YCbCr color space values before applying JPEG compression. The conversion from RGB space to YUV or YCbCr is thus,
      [                            Y                                      Cb                                      Cr                      ]    =                    C        NOMINAL2            ⁡              [                                            R                                                          G                                                          B                                      ]              .  